The present invention relates to a method and an apparatus for data transmission with interleaving and subsequent rate matching owing to puncturing or repetition.
Digital communications systems are designed for transmitting data by representing the data in a form which makes it easier to transmit the data via a communication medium. For example, in the case of radio transmissions, the data is transmitted between transmitters and receivers in the communications system in the form of radio signals. In the case of broadband telecommunications networks, the data can be in the form of light, and can be transmitted, for example, via a fiber-optical network between transmitters and receivers in the system.
During data transmission, bits or symbols in the transmitted data may be corrupted, wherein these bits or symbols cannot be determined correctly in the receiver. For this reason, the data communications systems frequently contain ways for ameliorating the corruption of the data which occurs during transmission. One of these ways is to equip transmitters in the system with coders, which use an error control code to code the data before transmission. The error control code is designed such that it adds redundancy to the data in a controlled manner. In the receiver, errors which occur during transmission can be corrected by decoding the error control code, as a result of which the original data is reproduced. The decoding is carried out using an error decoding algorithm, which corresponds to the error control code, which is known to the receiver.
Once the data has been decoded, it is often necessary, for data rate matching, to puncture or to repeat data bits or symbols from a block of coded data, before such data is transmitted. In this context, the term puncturing refers to a process of removing or deleting bits from a coded data block, with the effect that the punctured bit is not transmitted with this data block. Puncturing could be required, for example, because a multiple access method which is used for transmitting the data via the data-carrying media requires formatting of the data to form blocks of predetermined size, which size does not correspond to the size of the coded data frame.
In order to accommodate the coded data frame in a transport data block having a predetermined size, data bits are therefore either punctured from the coded data frame in order to reduce the size of the coded data block in a situation in which the coded data frame is larger than the size of the transport data block, or bits in the coded data frame are repeated in a situation in which the coded data frame is smaller than the predetermined size of the transport data block. This will be explained in more detail in the following text using a mobile radio communications system by way of example.
Mobile radio communications systems are equipped with multiple access systems which operate, for example, on the basis of time division multiple access (TDMA) as is used, for example, in the global mobile radio system (GSM), a mobile radio communications standard which is standardized by the European Telecommunications Standard Institution. As an alternative, the mobile radio communications system could be equipped with a multiple access system operating using code division multiple access (CDMA), such as the UMTS system proposed for the third-generation universal mobile telecommunications system.
However, as can be seen, any desired data communications system could be used to represent an exemplary embodiment of the present invention, such as a local data network or a broadband telecommunications network operating using the asynchronous transmission mode. These examples of data communications systems are characterized, in particular, in that data is transmitted as frames, packets or blocks. In the case of a mobile radio communications system, the data is transmitted within radio signals which carry data and represent a predetermined amount of data. FIG. 7 shows one example of such a mobile radio communications system.
FIG. 7 shows three base stations BS which exchange radio signals with mobile stations MS in a radio coverage area which is formed by cells 1, which are defined by dashed lines 2. The base stations BS are coupled to a network relay system NET. The mobile stations MS and the base stations BS exchange data by using radio signals, in that they transmit radio signals 4 between antennas 6, which are coupled to the mobile stations MS and to the base stations BS. The data is transmitted between the mobile stations MS and the base stations BS using a data communications apparatus, in which the data is transformed into radio signals 4, which are transmitted to the receiving antenna 6, which identifies the radio signals. The data is reproduced from the radio signals by the receiver. The present invention can, in this case, be used both in the uplink direction (MS BS) and in the downlink direction (BS MS).
FIG. 8 shows an example of a data communications apparatus which forms a radio communication path between one of the mobile stations MS and one of the base stations BS, with parts which also appear in FIG. 7 having identical numerical designations. In FIG. 8, a data source 10 produces data frames 8 at a rate which is governed by the type of data produced by the source. The data frames 8 produced by the source 10 are supplied to a rate converter 12 which converts the data frames 8 to form transport data blocks 14. The transport data blocks 14 are designed such that they are of essentially the same size, with a predetermined size and an amount of data which can be carried by frames in data-carrying radio signals, via which data is transmitted by a radio interface which is formed from a pair including a transmitter 18 and a receiver 22.
The transport data block 14 is supplied to a radio access processor 16, which controls the sequence of transmission of the transport data block 14 via the radio access interface. The transport data block 14 is supplied at an appropriate time by the radio access processor 16 to a transmitter 18, which converts the transport data block to the frame of data-carrying radio signals, which are transmitted in a time interval which is allocated to that transmitter in order to transmit the radio signals. In the receiver 22, a receiver antenna 6″ identifies the radio signals and carries out downward conversion and reproduction of the data frame, and this is supplied to a radio access sequence control reversing apparatus 24. The radio access sequence control reversing apparatus 24 supplies the received data transport block to a frame conversion reversing apparatus 26 which is controlled by the multiple access sequence control reversing apparatus 24, and is supplied via a conductor 28. The rate conversion reversing apparatus 26 then supplies a representation of the reproduced data frame 8 to a destination or sink for the data frame 8 which is represented by the block 30.
The rate converter 12 and the rate conversion reversing apparatus 26 are designed such that, as far as possible, they utilize the data-carrying capacity available in the transport data block 14 optimally. According to an exemplary embodiment of the present invention, this is done via the rate matching converter 12, which is used to code the data frame and then puncture or repeat data bits or symbols which are selected from the coded data frame, with the effect of producing a transport data block which fits into the data blocks 14. The rate converter 12 has a coder and a puncturer. The data frame 8 which is supplied to the coder is coded, in order to produce a coded data frame which is supplied to the puncturer. The coded data frame is then punctured by the puncturer, in order to produce the transport data block 14. Depending on the embodiment variant, puncturing of frames can be used both in the uplink direction and in the downlink direction.
GB 2296165 A discloses a multiplex communications system, which has puncturing and interleaving.
Those skilled in the art are familiar with the fact that one effect of puncturing a coded data frame is that the probability of correct reproduction of the original data is reduced. Furthermore, the performance of known error control codes and the known decoders of these error control codes is best when the errors which occur during the transmission of the data are caused by Gaussian noise, since this has the effect that the errors are distributed independently throughout the transport data block. When a coded data frame is intended to be punctured, the positions in the coded data frame at which bits are punctured should be separated as far as possible from one another. To this extent, the puncturing positions should be distributed uniformly throughout the data frames. Since errors during transmission frequently occur in bursts, particularly in the case of radio communications systems which do not use interleaving, and since the repetitions of bits are not intended to particularly improve the quality just in a certain region of the data frame but should be as uniform as possible, positions in a coded or uncoded data frame in which data bits are intended to be repeated should be arranged similarly so that they are uniformly separated from one another throughout the entire data frame.
Known methods for selecting positions of bits or symbols which are intended to be punctured in a coded data frame include the division of the number of bits or symbols in a frame by the number of bits or symbols which are intended to be punctured, and the selection of positions with integer values corresponding to the division. In a situation in which the number of bits to be punctured is not an integer division of the number of bits in the data frame, this does not, however, lead to uniform spacings between the punctured positions, thus resulting in the disadvantage that the distance between certain punctured positions is less than this corresponding integer and, in some cases, the punctured positions are even located alongside one another.
In order to describe the complex present invention, the narrower technical field of the present invention and the problems that occur in this case will be briefly explained in the following text with reference to FIGS. 1 to 6 and 9 but, at least partially, also result from the state of standardization for the 3rd mobile radio generation (UMTS (Universal Mobile Telecommunications System)) prior to the present invention, which is specified in particular in the following document: S1.12 v0.0.1, 3GPP FDD, Multiplexing, channel coding and interleaving description.
The interleaving within a transport multiplexing method is frequently carried out in two steps. The various solutions for carrying out the puncturing/repetition have various consequences if the puncturing is carried out after the first interleaver, as is envisaged from the UMTS system. A second interleaver is now also used in the UMTS system, and is arranged after the physical channel segmentation and before the physical channel mapping (see FIG. 1). Although this interleaver results in an improvement in the transmitted bits being distributed as uniformly as possible, it has no influence, however, on the distribution of the punctured/repeated bits, and therefore will not be discussed any further for the purposes of the present invention.
FIG. 1 shows the use of an FS-MIL (FS-Multistage Interleaver) as an interleaver in the uplink path multiplexing method in conjunction with a known rate matching algorithm proposed for UMTS.
As an example, let us consider a situation in which layer 2 results in a transport block with 160 bits on a transport channel with a transmission interval of 80 ms. This bit sequence also can be described as a data frame, or as a sequence of data frames. As such, after the first interleaver, (first interleaving), the data is interleaved over eight radio frames (often also referred to as “frames” or “columns” in the following text) (see FIG. 2). In this case, the interleaving includes the bits being read line-by-line, and the bits being read column-by-column with subsequent column randomizing (columns being interchanged).
A first aim of a good puncturing algorithm is to distribute punctured bits as uniformly as possible over the bit positions in their original sequence. This was also the critical principle which was used for the definition of the puncturing algorithm for UMTS, as is described, for example, in the abovementioned Specification S1.12. This is best done by puncturing every n-th bit or, in some cases, every (n+first) bit if the puncturing rates are not integral.
A second aim is to puncture the various frames (in the following text, frames are also often referred to as columns or radio frames) with equal frequency, and hence also to distribute the punctured bits uniformly over all the frames, and also to achieve uniform puncturing in the various frames. The expressions puncturing or repetition of a column (for the frame) also refer to the puncturing or repetition of an element, in particular of a bit in the column (the frame).
Let us now assume that four bits are intended to be punctured in each frame (radio frame) in order to produce a balance for the requirements for the quality of the service of this transport channel together with other channels. The result of the rate matching algorithm—previously intended for the UMTS system—is to puncture the bits 4, 9, 14 and 19 (index starts at 0, counting based on the sequence of the bits after the first interleaving) in each frame (radio frame). In FIG. 2, a punctured bit is illustrated in bold text. In consequence, eight adjacent bits are punctured, and this, as explained above, is undesirable. The first aim mentioned above is not achieved to a satisfactory extent.
One procedure to avoid this problem would be to shift the puncturing pattern in each frame. Let us assume that Ni is the number of bits in a frame before rate matching, Nc is the number of bits after rate matching, m1 is the index of the punctured/repeated bit, k is the frame number and K is the number of interleaved frames.
Let us then consider the situation where Ni>Nc, that is to say puncturing. In the above example, Ni=20, Nc=16, m1=4, m2=9, m3=14, m4=19, k=1 . . . 7 and K=8. A shift in the positions of the bits to be punctured in order to avoid the abovementioned problem can then be described by the following formula:
mjshift=(mj+k*┌Nc(Nc−Nc)/K┐)mod Ni, where ┌ ┐ refers to round up.
The positions of the bits to be punctured resulting from this formula are illustrated, for the above example, in FIG. 3.
As can be seen from FIG. 3, the puncturing of adjacent bits is admittedly avoided to a certain extent, but this results in a cyclic effect or edge effect, that is to say for example, bits 43 and 44 are punctured, which, as explained above, is undesirable. The first aim mentioned above is accordingly once again not achieved to a satisfactory extent.
If the puncturing ratio is low, the probability of puncturing adjacent bits decreases. FIG. 4 shows an example with 10% puncturing. As can be seen from FIG. 4, some adjacent bits (bit 91 and bit 92) are still punctured, however, which results in a reduction in performance. Once again, the first aim mentioned above is not achieved to a satisfactory extent.
As an alternative to a described rate matching algorithm, it is proposed that the first interleaver (first interleaving) be optimized such that the puncturing no longer requires the described rate matching algorithm. An optimized first interleaver should reorder the bits such that adjacent bits are separated. The puncturing, accordingly can be carried out simply by removing successive bits after the interleaving process. The following options will be explained in more detail with reference to the scenario illustrated in FIG. 5.
The four blocks on TrCH A are interleaved together, and the rate matching is then carried out. When puncturing is carried out, successive bits are removed in each frame. It is therefore highly improbable that punctured bits would be adjacent in a frame, with respect to their position before the interleaving process, that is to say after coding. However, there is no guarantee that punctured bits would not be adjacent in different frames after the coding process. In consequence, a reduction in performance could occur when using this approach.
The method explained in the following text with reference to FIG. 6 could be used to solve the problem explained with reference to FIG. 4, in which method the puncturing pattern applied to a frame is also applied, after shifting, to other frames, with the shifted patterns being applied to frames before the interleaving process. FIG. 6 shows a puncturing pattern for the bit sequence example which already has been explained with reference to FIG. 3. The illustration shows that no puncturing of adjacent bits occurs, at least in this example. The reduction in performance resulting from puncturing therefore should be avoided in this case.
In fact, there is no need to carry out the above rate matching before the column randomization (column interchanging). Rate matching equivalent to this can be carried out after the column randomization by taking account of the column randomization rules, and this can be achieved just by replacing the initial column-specific offset value eoffset, which describes this shift in the application of the puncturing pattern by a simple formula. The offset value is not calculated on the basis of the column number after column randomization, but the column number before the column randomization, and this can be calculated using the inverse column interchanging rule. Furthermore, eoffset can be used not just for puncturing, but also for repetition. Repetition bits can, thus, be positioned more uniformly.
The following text once again shows, in summary form, that the previously proposed solutions, that is to say the proposed puncturing/repetition patterns, are still not always optimum in all cases.
In the introduction, it was shown with reference to FIG. 2 and by analysis by way of example of a situation in which layer 2 provides a transport block with 160 bits on a transport channel with a transmission interval of 80 ms, and subject to the precondition that four bits should be punctured in each frame, that eight adjacent bits are punctured, which is obviously undesirable. The first aim mentioned above is not achieved to a satisfactory extent.
The proposal as shown in FIGS. 3 and 4 was to shift the puncturing pattern in each frame. Once again, as shown, this led to puncturing of adjacent bits (bits 43 and 44 as well as bits 91 and 92). The first aim mentioned above is not achieved to a satisfactory extent.
The proposal as shown in FIG. 6 provides for the use of shifted puncturing patterns after the interleaving process, in which case the column-specific shifts were determined on the basis of analyses before column interchanging. In this case, this does not lead to any adjacent punctured bits in this example.
However, in a method as shown in FIG. 6, there are always still situations in which adjacent bits are punctured, depending on the puncturing rate. FIG. 9 shows, by way of example, the situation Ni=16, Nc=14, m1=4, m2=14, k=1 . . . 7 and K=8. For the sake of simplicity, FIGS. 9 and 10 show only the area before interleaving, in which, however, those bit positions which are punctured after interleaving are illustrated by marking them in bold print. As can be seen, the adjacent bits 31 and 32 and 95–96 are punctured, which is obviously undesirable. Once again, the first aim mentioned above is not achieved to a satisfactory extent.
If, in contrast, only every n-th bit were to be punctured with respect to the original sequence after the interleaver process, then the second aim cannot always be achieved adequately. Let us assume, for example, 80-ms interleaving (as in FIG. 9) and a puncturing rate of 1:6. Puncturing every sixth bit would result in only the columns 0, 2, 4, 6 being punctured, but not the columns 1, 3, 5, 7, which is, of course, undesirable and is not consistent with the second aim. In contrast, the first aim would be achieved to a satisfactory extent.
Against this background, the present invention is directed toward reducing these disadvantages of the prior art.